The present invention relates to processing scripts associated with objects in a hierarchical arrangement of objects.
A graphical composition can be represented as a hierarchical arrangement of graphics objects representing elements of the composition. Graphics objects can include objects that represent text, images or graphics in a graphical composition. Graphics objects that represent text can include both dynamic and static text objects. Dynamic text objects include text objects whose contents can change based on user input. Dynamic text objects can be used to implement a form field that accepts user input. Static text objects include text objects whose contents may not be changed based on user input. Static text objects can include text headings and simple typed text. Both static and dynamic text objects, as well as images and graphics, can be animated or decorated in the graphical composition. Objects in a graphical composition can have properties that can be manipulated using commands or methods. Objects with the same properties and behaviors are grouped into classes. An object in a hierarchical arrangement of objects can include other objects. Each object in the hierarchical arrangement can be identified by a unique absolute name that identifies the object by its position in the hierarchical arrangement.
Objects in a graphical composition can be animated by triggering changes in the associated properties and behaviors based on keyframes, events, or states. Keyframes can be used to change the properties or behaviors associated with an object as the object progresses along the timeline. A frame represents a point of time in the timeline for the object. A keyframe is a frame specifying the value for an object property or for an object behavior. Events can be caused by user action or by system-based events. Each object in a graphical composition can also have associated states. States associated with an object can be predefined system states or custom states defined as part of the graphical composition. A change in the state of an object can be triggered by user events, or by interaction with other objects in the graphical composition.
Scripts are instructions that can operate on objects to modify the properties or behaviors of the object. Scripts can be used to control how the objects included in the graphical composition respond to user events. Scripts can also be used to control the interaction of an object in the graphical composition with other objects in the graphical composition. In a hierarchical arrangement of objects, scripts can be associated with individual objects in the hierarchical arrangement. Scripts can also be associated with a triggering condition such that the script is executed when the triggering condition is satisfied.
FIG. 1 illustrates an example of the operation of a script printing tool in a monolithic scripting environment. The monolithic scripting environment includes a hierarchical arrangement of objects, and all the scripts associated with the objects are stored together in a file. As shown, an object_root 100 has an associated script S(_root) 140. The object_root 100 has two children A 105 and E 110, with corresponding associated scripts S(A) 145 and S(E) 150. Object A 105 has three children B 115, C 120, and D 125, each having a corresponding associated script S(B) 155, S(C) 160, and S(D) 165. Object E has a child F 130, and F has a child G 135. The script S(F) 170 is associated with object F130, and the script S(G) 175 is associated with object G 135. In the exemplary scripting environment, the scripts associated with the objects can be stored in a single script file 180. A script printing tool 185 can operate by translating the single script file 180 to an output script file format 190, and printing the scripts in the order in which they appear in the script file 180.
FIG. 2 illustrates an example of a script printing tool operating in a distributed scripting environment. In a distributed scripting environment, the scripts can be generated separately for each object in the hierarchy and scripts can be accessed separately for each object. Unlike the monolithic scripting environment, scripts in a distributed scripting environment typically are not stored together and all the scripts associated with the objects in the hierarchy typically can not be accessed at the same time. Adobe® LiveMotion® software, available from Adobe Systems Incorporated, of San Jose, Calif., is an example of software providing a distributed scripting environment where the scripts can be generated and accessed only for the selected object in the hierarchical arrangement. The example in FIG. 2 includes a hierarchical arrangement of objects that is similar to that in FIG. 1. Scripts associated with the objects can be distributed through the hierarchical arrangement instead of being stored together as in the monolithic scripting environment of FIG. 1. A script printing tool 280 operating in this scripting environment can include a selector 285 to select the script associated with a particular object currently selected by the user. The script for the selected object is communicated to an output file format 290. In this scripting environment the script printing tool is operable to individually print the scripts associated with the selected object to the output file.